package com.hecate.user.service;

import com.hecate.common.response.HecateResponse;
import com.hecate.user.api.req.permissionresource.DeletePermissionResourceByBidRequest;
import com.hecate.user.api.req.permissionresource.FindPermissionResourceByBidRequest;
import com.hecate.user.api.req.permissionresource.SavePermissionResourceRequest;
import com.hecate.user.api.req.permissionresource.UpdatePermissionResourceRequest;
import com.hecate.user.dto.permissionresource.DeletePermissionResourceByBidDTO;
import com.hecate.user.dto.permissionresource.FindPermissionResourceByBidDTO;
import com.hecate.user.dto.permissionresource.SavePermissionResourceDTO;
import com.hecate.user.dto.permissionresource.UpdatePermissionResourceDTO;

/**
 * 权限资源服务层接口
 * @author 黄星星
 * @date 2020-12-05
 */
public interface PermissionResourceService {

    /**
     * 新增权限资源
     * @param savePermissionResourceRequest
     * @return
     */
    HecateResponse<SavePermissionResourceDTO> savePermissionResource(SavePermissionResourceRequest savePermissionResourceRequest);

    /**
     * 更新权限资源
     * @param updatePermissionResourceRequest
     * @return
     */
    HecateResponse<UpdatePermissionResourceDTO> updatePermissionResource(UpdatePermissionResourceRequest updatePermissionResourceRequest);

    /**
     * 删除权限资源
     * @param deletePermissionResourceByBidRequest
     * @return
     */
    HecateResponse<DeletePermissionResourceByBidDTO> deletePermissionResourceByBid(DeletePermissionResourceByBidRequest deletePermissionResourceByBidRequest);

    /**
     * 根据bid查看权限资源
     * @param findPermissionResourceByBidRequest
     * @return
     */
    HecateResponse<FindPermissionResourceByBidDTO> findPermissionResourceByBid(FindPermissionResourceByBidRequest findPermissionResourceByBidRequest);
}
